var page;//完工列表的页码
var _index = -1;//完工表的下标（用于表勾选）
var rowIndex = "%^%%%%";//完工表的下标（用于改变选中行样式）
var flag = false;//区分状态
var fWorker = "$#^$%%^$%^$%";
var inOrOutStock = {};

// 保存当前表格页码
var currentPageNumber;

/*
 * @Description: 预加载
 * @param : 
 */
$(function() {
	resizeDeskHight();
	initInTable();
	$("#warehouser").focus();
});

/** 
 * @description: 初始化入库列表 
 * @param :  
 */
function initInTable() {
	$('#inTable').bootstrapTable('destroy').bootstrapTable({
		url : pathUrl("operInStock/outOperInStockList.action"),//请求后台的URL
		height : $(window).height() * 0.7,//行高
		method : "POST",//请求方式
		//striped : true,//是否显示行间隔色
		cache : false,//是否使用缓存，默认为true
		pagination : true,//是否显示分页
//		clickToSelect : true,//是否启用点击选中行
//		singleSelect : true,//是否单选
		pageNumber : 1,//初始化加载第几页
		pageSize : 10,//每页的记录行数
		sidePagination : "server", // 分页方式：client客户端分页，server服务端分页（*）
		pageList : [ 10, 25, 50, 100 ],// 分页方式：client客户端分页，server服务端分页
		queryParams : function(params) {//传递参数
			var data= {};
			data.offset = params.offset;
			data.row = params.limit;
			//data.sortOrder = params.order;//排序
			//data.sortName = params.sort;//排序
			data.fBillNo =  $("#fBillNo").val();
			data.fCode =  $("#fCode").val();
			data.fNumber =  $("#fNumber").val();
			
			data.notCheckStatus =  1;
			return data;
		},
		dataType : 'JSON',//数据类型
		uniqueId : "id",//每一行的唯一标识，一般为主键列
		columns : [ {
			field : "fBillNo",
			align : 'left',
			valign: 'middle',
			title : '生产任务单号'
		}, {
			field : "fCode",
			align : 'left',
			valign: 'middle',
			title : '出库单号'
		}, {
			field : "fDisCode",
			align : 'left',
			valign: 'middle',
			title : '派工单号'
		}, {
			field : "fNumber",
			align : 'left',
			valign: 'middle',
			title : '产品代码'
		}, {
			field : "fName",
			align : 'left',
			title : '产品名称',
			valign: 'middle'
		}, {
			field : "fModel",
			align : 'left',
			valign: 'middle',
			title : '规格型号'
		}, {
			field : "fOperSN",
			align : 'left',
			valign: 'middle',
			title : '工序号'
		},{
			field : "fOperName",
			align : 'left',
			valign: 'middle',
			title : '工序名称'
		}, {
			field : "fCheckQty",
			align : 'left',
			title : '数量',
			valign: 'middle'
		}, {
			field : "fOutStockQty",
			align : 'left',
			title : '已出库数',
			valign: 'middle'
		}, {
			field : "fStock",
			align : 'left',
			valign: 'middle',
			title : '仓库'			
		}, {
			field : "fSP",
			align : 'left',
			valign: 'middle',
			title : '库位'			
		}, {
			field : "fCheckDate",
			align : 'left',
			valign: 'middle',
			title : '审核日期',
			formatter : dateFormatter
		},  {
			field : "fDate",
			align : 'left',
			valign: 'middle',
			title : '制单日期',
			formatter : dateFormatter				
		}],
		onClickRow : function(row, $element) {//行单击
//			console.log(row)
			$("#iooid").val(row.id);
			$("#ioofQty").val(row.fQty);
			$("#ioofOutStockQty").val(row.fOutStockQty);
			$("#ioofCheckQty").val(row.fQty - row.fOutStockQty);
			$('#ioofCheckQty').focus();
		}
	});
}

/*
 * @Description: 查询按钮点击事件
 * @param :  
 */
$("#query").click(function(){
	$('.clean-c').val("");
	initInTable();
})

/*
 * @Description: 查询条件按回车事件
 * @param :  
 */
$("#fBillNo,#fCode,#fNumber").keypress(function(event){
	if(event.keyCode == "13"){
		$('.clean-c').val("");
		initInTable();
	}
});
/*
 * @Description: 入库人输入框回车事件
 * @param :  
 */
$("#warehouser").keypress(function(event){
	if(event.keyCode == "13"){
		$.ajax({
			url : pathUrl("emp/findByCondition.action"),
			type : 'GET',
			dataType : "JSON",
			data : {
				"row" : 100000,
				"fNumber" : $("#warehouser").val()
			},
			success : function(data) {
				if(data.code == "0000"){
					if(data.rows.length == 1){
						var name = data.rows[0].fName;//员工姓名
						$("#warehouser").val(name);
					}else{
						swal_Tips('请刷正确的入库人卡号！');
						$("#fWorker").val("");
					}
				}else{
					swal_Tips('请刷正确的入库人卡号！');
					$("#fWorker").val("");
//					$("#fWorker").focus();
				}
			},
			error : function(request) {
				swal_Tips_Error();
			}
		});
	}
});
/*
 * @Description: 重置按钮点击事件
 * @param :  
 */
$("#reset").click(function(){
	$('.clean_C').val("");
	$('.clean-c').val("");
	initInTable();
})
/*
 * @Description: 确定按钮点击事件
 * @param :  
 */
$("#save").click(function(){
	var _id = $("#iooid").val();
	var fQty = parseFloat($("#ioofQty").val());//数量
	var fCheckQty = $("#ioofCheckQty").val();//实际出库数
	var fOutStockQty = parseFloat($("#ioofOutStockQty").val());//已出库数
	
	if(_id == ""){
		swal_Tips('请选择中途入库再出库的数据！');
		return false;
	}
	
	if(fCheckQty == ""){
		swal_Tips('实际出库数不能为空！');
		return false;
	}
	fCheckQty = parseFloat(fCheckQty);
	if(isNaN(fCheckQty)){
		swal_Tips('请输入正确的实际出库数！');
		return false;
	}
	if(fCheckQty == 0){
		swal_Tips('实际出库数不能为0！');
		return false;
	}
	if(fQty < fCheckQty + fOutStockQty){
		swal_Tips('已出库数和实际出库数不能大于数量！');
		return false;
	}	
	inOrOutStock.id = _id;
	inOrOutStock.flQty = fCheckQty;
	$("#receivefWorker").val("");
	$("#fWorkerName").val("");
	$("#outAuditModal").modal('hide');
	$("#receiverModal").modal('show');
})

/*
 * @Description: 接收人卡号模态框显示后操作：领料人卡号获得焦点
 * @param :
 */
$('#receiverModal').on('shown.bs.modal', function () {
	$("#receivefWorker").focus();
});
/*
 * @Description: 员工ID输入框输入事件：输入员工ID后，自动带出员工姓名
 * @param : 
 */
validateID("#receivefWorker","#fWorkerName","#confirm_receive");
/*
 * @Description: 接收人模态框确定的按钮点击事件 
 * @param :
 */
$("#confirm_receive").click(function(){
	fnReceive();
});
/*
 * @Description: 接收方法
 * @param :
 */
function fnReceive(){	
	var receivefWorker = $("#receivefWorker").val();
	if(receivefWorker == ""){
		swal_Tips("请输入接收人卡号！");
		return false;
	}	
	inOrOutStock.fWorker = $("#receivefWorker").val();
	inOrOutStock.fWorkerName = $("#fWorkerName").val();	
	showLoading();	
	$.ajax({
		url : pathUrl("operInStock/outOperInStock.action"),
		type : "POST",
		dataType : "JSON",
		data : inOrOutStock,
		success : function(data) {
			if(data.code == "0000"){
				$(".clean-c").val("");
				$('#inTable').bootstrapTable('refresh');
				$("#receiverModal").modal('hide');				
				swal_Tips_Short(data.message);
			}else{
				swal_Tips(data.message);
			}
		},
		error : function(request) {
			swal_Tips_Error();
		}
	});	
}
/*
 * @Description: 接收人卡号模态框确定按钮点击事件
 * @param :
 */
$("#back_receive").click(function(){
	$("#receiverModal").modal('hide');
});